/*************************************************************************
eGUI/easyGUI Copyright (c) 2007-2008 Xiao Wang Yang 
Author: Xiao Wang Yang
Email: sureone@gmail.com   
Project Site: http://code.google.com/p/easygui
------------------------------------------
Revision History:
2008-01-01			
	C3DListWidget is a apple style picture list, implement picture widget rotate, move in 3D space. 
*************************************************************************/

#pragma once
#include "common.h"
#include "Model.h"
#include "DisplayManage.h"
#include "Widget.h"
#include "Container.h"
#include "CBackgroundWidget.h"
#include "commonlistwidget.h"



class DLL_EXP C3DListWidget : public CCommonListWidget
{
public:

	
	int m_nItemAngle;
	float m_nItemViewZRatio;
	float m_nItemRotateOrigZRatio;
	float m_nItemRotateOrigXRatio;
	

	

	C3DListWidget(void);
	CObjList itemList;
	virtual bool HandleKeyDown(unsigned int nChar,unsigned int nRepCnt,unsigned int nFlags);

	bool m_bEnableGhost;
	virtual ~C3DListWidget(void);
	virtual bool AddItem(CWidget* pWidget,int nIndex=-1);
	virtual bool HandleMouseEvent(int evCode, WPoint* ptScreen, int param2);
public:
	virtual int CustDraw(CFrameSurface* pSurface);
	virtual void HandleModelEvent(ModelEvent* pEvent);
	virtual void ReCalLayout(bool bInitial=false);
	virtual void SetFocusItem(CWidget* pWidget);
	virtual void PlayItemSwitchAnimation(CWidget* last,CWidget* cur);
};